Test automation tools are readily available for software developers, quality assurance (QA) engineers, and/or test engineers to test a software application or other software program. When a software program fails a test, the test engineer will generally attempt to determine whether the software program has a defect. In doing so, the test engineer will first attempt to determine whether the test failure is a false positive, for example, whether a network failure or other extraneous event occurred during the test which may have provided a false reading, or whether the test failure is the result of an actual defect in the software program under test. If a defect is discovered, the test engineer will typically perform a set of laborious manual steps to determine the circumstances occurring during the test, for example, what the test was doing, what part of the code was being exercised when the failure occurred, and whether there is a history of similar test failures.